home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 44 / Amiga Format CD44 (1999-08-26)(Future Publishing)(GB)(Track 1 of 3)[!][issue 1999-10].iso / -in_the_mag- / basics / amos / dairydemos.lha / FlagDemo.Amos / FlagDemo.amosSourceCode < prev    next >
AMOS Source Code  |  1992-09-02  |  7KB  |  271 lines

  1. '         *********************************************
  2. '         *                                           *
  3. '         *                FLAG DEMO                  *
  4. '         *                                           *
  5. '         *                   v1.0                    *
  6. '         *           ï¿½ 1995  Dairymen Soft           *
  7. '         *                                           *
  8. '         *                Written by                 *
  9. '         *                                           *
  10. '         *            GHIZZONI  AGOSTINO             *
  11. '         *                                           *
  12. '         *       E-Mail: ghizzo@galactica.it         *
  13. '         *                                           *
  14. '         *********************************************
  15. '
  16. '         ALL THE EFFECTS IN THIS DEMO ARE IN REAL TIME  
  17. '          
  18.  
  19.  
  20. Screen Close 0
  21. Break Off 
  22. Hide 
  23. Bob Update Off : Sprite Update Off : Update Off 
  24. Unpack 11 To 1
  25. Screen Hide 1
  26. For I=5 To 15
  27.    Colour(I),0
  28. Next 
  29. UU=27
  30. For I=0 To 156 Step 12
  31.    Inc UU
  32.    Get Icon UU,I,0 To I+12,112
  33.    Make Icon Mask UU
  34. Next 
  35. Get Block 24,0,0,168,112,1
  36. Reserve As Work 12,300
  37. Reserve As Work 13,300
  38. F$="YFLAG" : BK=12 : Restore F$
  39. For U=1 To 2
  40.    C=0
  41.    Do 
  42.       A=Rnd(5)+10
  43.       Read O
  44.       If O=0 Then Exit 
  45.       For I=1 To A
  46.          Poke Start(BK)+C,O
  47.          Inc C
  48.       Next 
  49.    Loop 
  50.    Bank Shrink BK To C-1 : F$="XFLAG" : BK=13 : Restore F$
  51. Next 
  52. Dim XTST(8),CO(31)
  53. For A=1 To 8 : XTST(A)=160-(16*A) : Next A
  54. Restore UPTEXT
  55. Do 
  56.    Read A$
  57.    Exit If A$="end"
  58.    Add BK,Len(A$)+1
  59.    Inc STRIN
  60. Loop 
  61. Reserve As Work 8,BK
  62. Restore UPTEXT
  63. ST8=Start(8)
  64. L8=Length(8)
  65. For I=1 To STRIN
  66.    Read A$
  67.    A$=Upper$(A$)
  68.    Poke ST8+CUR,Len(A$)
  69.    For U=1 To Len(A$)
  70.       Inc CUR
  71.       MID=Asc(Mid$((A$),U,1))
  72.       If MID=32 Then MID=27 Else Add MID,-64
  73.       Poke ST8+CUR,MID
  74.    Next U
  75.    Inc CUR
  76. Next I
  77. Unpack 10 To 0
  78. Screen Hide 0 : Screen 1 : Get Palette 0 : Screen 0
  79. For I=0 To 31
  80.    CO(I)=Colour(I)
  81. Next 
  82. Palette 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  83. Get Block 23,71,40,178,120,1
  84. Put Block 24,71,40
  85. Screen Show 0 : Wait Vbl 
  86. Double Buffer : Autoback 0
  87. PF5=Phybase(4) : PL5=Logbase(4) : SBF5=Screen Base+40 : SBL5=Screen Base+16
  88. Mvolume 0 : MM=-2 : Music 1
  89. For I=$0 To $FFF Step $111
  90.    Add MM,2
  91.    Mvolume MM
  92.    For U=1 To 4
  93.       Colour(U),I
  94.    Next 
  95.    Wait 4
  96. Next 
  97. Mvolume 63
  98. Palette $FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF
  99. Wait 4
  100. Fade 6 To 1
  101. Fill PL5 To PL5+7200,-1
  102. Screen Swap 
  103. Fill PF5 To PF5+7200,-1
  104. Screen Swap 
  105. Wait 88
  106. Shift Down 2,21,31,1
  107. Screen Close 1
  108. Unpack 14 To 2
  109. Screen Hide 2
  110. PF2=Phybase(0)
  111. Def Scroll 5,32,0 To 288,220,0,-1
  112. Copy PF2,PF2+7200 To PL5
  113. LIZER
  114. Screen 0 : Loke SBF5,PF2 : Wait 10 : View 
  115. Copy PL5,PL5+7200 To PF5
  116. Fill PL5 To PL5+7200,-1 : Wait Vbl 
  117. CUR1=ST8-1 : EN8=Start(8)+L8-1
  118. S=Start(12) : SS=Start(13) : L12=Length(12)+S-1
  119. L13=Length(13)+SS-1 : L=Length(12) : LL=Length(13)
  120. CL=5 : Every 3 Gosub BIBO
  121. Repeat 
  122.    Loke SBL5,PL5
  123.    Put Block 23,,,%1111
  124.    U=27
  125.    For A=71 To 227 Step 12
  126.       Inc U
  127.       Paste Icon A,Peek(S),U
  128.       Add S,12 : If S>L12 Then Add S,-L
  129.    Next A
  130.    For A=40 To 152 Step 8
  131.       Screen Copy Logic(0),61,A,240,A+8 To Logic(0),Peek(SS),A
  132.       Add SS,12 : If SS>L13 Then Add SS,-LL
  133.    Next A
  134.    If C>40 Then C=0 : Add CUR1,1,ST8 To EN8 : LUN=Peek(CUR1) : XTST=XTST(LUN)
  135.    Loke SBL5,PF2
  136.    Screen Swap 
  137.    Wait Vbl 
  138. Until Mouse Click
  139. Every Off : Bob Clear 
  140. Loke SBL5,PL5
  141. Put Block 23,,,%1111
  142. Put Block 24,71,40
  143. Screen Swap 
  144. Loke SBF5,PF5 : Loke SBL5,PL5
  145. Wait 60
  146. Fade 8,,,,,,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,$FFF,,,,,,,,,,,,,,,
  147. For I=63 To 0 Step -1
  148.    Mvolume I
  149.    Wait 4
  150. Next 
  151. Amal Off : Music Off 
  152. Wait 60
  153. Shift Off 
  154. Fill PF5 To PF5+7200,0
  155. For F=$444 To $FFF Step $111
  156.    For I=5 To 15 : Colour(I),F : Next 
  157. Next 
  158. Wait 10
  159. Fade 5
  160. For T=6 To 3 Step -1
  161.    For I=1 To 80 Step 3
  162.       Screen Display T,,230+15*(T-3)+I,, : Wait Vbl 
  163.    Next I
  164. Next T
  165. Screen Close 0
  166. For I=2 To 6
  167.    Screen Close I
  168. Next 
  169. Del Block : For I=28 To 41 : Del Icon 28 : Next : Erase 1 : Break On 
  170. End : Rem     ***  A M I G A    R U L E Z  *** 
  171. BIBO:
  172. Bob Clear : Bob Draw 
  173. Screen 2
  174. If C<LUN Then Inc CUR1 : Paste Icon XTST,187-C,Peek(CUR1) : Add XTST,32
  175. Scroll 5
  176. Screen 0
  177. Inc C
  178. For Q=5 To 15
  179.    Add CL,1,5 To 15
  180.    Colour(Q),CO(CL)
  181. Next 
  182. Add CL,1,5 To 15
  183. Every On 
  184. Return 
  185. Procedure LIZER
  186.    Cls 0 : Pen 1 : Paper 0 : Set Text 2
  187.    For U=1 To 4
  188.       For I=0 To 2
  189.          Read A$
  190.          Text 0,6+20*I,A$
  191.          Text 0,16+20*I,A$
  192.       Next 
  193.       For I=0 To 40 Step 20
  194.          Inc P
  195.          Get Bob P,0,I To 112,I+20
  196.          Hot Spot P,,10
  197.       Next 
  198.    Next 
  199.    Cls 1 : S=1
  200.    For T=3 To 6
  201.       Screen Open T,320,160,8,Lowres
  202.       Flash Off : Curs Off : Screen Hide T : C=0
  203.       For I=0 To 120 Step 40
  204.          Ink C
  205.          Bar 0,I To 320,I+40
  206.          Ink C+1
  207.          For G=I To I+39 Step 10
  208.             Bar 88-5*(G/10),G+3 To 232+5*(G/10),G+7
  209.          Next G
  210.          Ink C
  211.          Bar 96,I To 224,I+40
  212.          Add C,2
  213.       Next 
  214.       Screen Display T,,230+15*(T-3),,10
  215.       Screen Show T
  216.       On(T-2) Gosub P1,P2,P3,P4
  217.       Channel T-2 To Screen Offset T
  218.       Amal T-2,M$
  219.       Bob T-2,103,2,S
  220.       Add S,3
  221.       Channel T+2 To Bob T-2
  222.       Amal T+2,MM$
  223.    Next 
  224.    Amal On 
  225.    Pop Proc
  226.    P1:
  227.    Palette $0,$240,$500,$270,$A00,$290,$F00,$2F0
  228.    M$="A: L RA=V(0); L RE=Y; I RA>0 J B J C; B: L Y=RA/4*10; P; J A; C: I Y=0 J A ; L Y=Y-10; P; P; J A"
  229.    MM$="A: L Y=YS(3,232); P; I RA>0 J B J C; B: L R1=R2<2; L R2=R2+1&R1; A 1,(R2+1,3); J A; C: I RE>0 J A; A 1,(13,3); J A"
  230.    Return 
  231.    P2:
  232.    Palette $0,$330,$5,$770,$A,$AA0,$F,$FF0
  233.    M$="A: L RB=V(1); L RF=Y; I RB>0 J B J C; B: L Y=RB/4*10; P; J A; C: I Y=0 J A ; L Y=Y-10; P; P; J A"
  234.    MM$="A: L Y=YS(4,247); P; I RB>0 J B J C; B: L R1=R2<2; L R2=R2+1&R1; A 1,(R2+4,3); J A; C: I RF>0 J A; A 1,(13,3); J A"
  235.    Return 
  236.    P3:
  237.    Palette $0,$33,$505,$67,$A0A,$9A,$F0F,$EF
  238.    M$="A: L RC=V(2); L RG=Y; I RC>0 J B J C; B: L Y=RC/4*10; P; J A; C: I Y=0 J A ; L Y=Y-10; P; P; J A"
  239.    MM$="A: L Y=YS(5,262); P; I RC>0 J B J C; B: L R1=R2<2; L R2=R2+1&R1; A 1,(R2+7,3); J A; C: I RG>0 J A; A 1,(13,3); J A"
  240.    Return 
  241.    P4:
  242.    Palette $0,$15,$50,$19,$A0,$1C,$F0,$1F
  243.    M$="A: L RD=V(3); L RH=Y; I RD>0 J B J C; B: L Y=RD/4*10; P; J A; C: I Y=0 J A ; L Y=Y-10; P; P; J A;"
  244.    MM$="A: L Y=YS(6,277); P; I RD>0 J B J C; B: L R1=R2<2; L R2=R2+1&R1; A 1,(R2+10,3); J A; C: I RH>0 J A; A 1,(13,3); J A"
  245.    Return 
  246.    Data "DAYRIMEN  SOFT"
  247.    Data "   ITALIAN    "
  248.    Data " AMOS CODERS  "
  249.    Data "   AGOSTINO   "
  250.    Data "  GRAPHYC  &  "
  251.    Data "  AMOS  CODE  "
  252.    Data "    PIETRO    "
  253.    Data " AMOS CODE  & "
  254.    Data "   ASSEMBLY   "
  255.    Data " ONLY  AMIGA  "
  256.    Data "  MAKES  IT   "
  257.    Data "   POSSIBLE   "
  258. End Proc
  259. YFLAG:
  260. Data 40,41,42,43,44,45,46,47,48,47,46,45,44,43,42,41,40,0
  261. XFLAG:
  262. Data 61,62,63,64,65,66,67,68,69,70,69,68,67,66,65,64,63,62,61,0
  263. UPTEXT:
  264. Data "hi"," ","this is","the","first","dairymen","soft","demo"
  265. Data "written","using","amos pro"," ","i hope","that","you like"
  266. Data "it"," ","special","credits","to"," ","chris","hodges"," "
  267. Data "unicorn"," ","benson"," ","gasmi","salim"," ","paul","hickman"
  268. Data " ","andrew","church"," ","ben","wyatt"," "," ","and last"
  269. Data "but not","least"," ","firer"," ","flynx"," ","see you","soon"," "," "
  270. Data "dairymen","soft"," ","music","by"," ","fireball"," ","lmb","to quit"
  271. Data "end"